var realizarPesquisar = false;

function validaPermissaoRegistro (metodo, classe){
	
	desabilitaBotoes();
	
	var retorno = $.ajax({
				        url:  basepath+"admin/home/validaPermissaoRegistro",
				        data: { metodo: metodo, classe: classe },
				        type: 'POST',
				        async: false,
				        success: function(retorno){
				        	var obj = jQuery.parseJSON( retorno );
				        	
				    		if (obj.sucesso == false) {
				    			//Rola a página para cima
				        		$('html, body').animate({ scrollTop: 0 }, 'slow');
				    			
				    			// Mostra mensagem
				    			$("#mensagem").show();
				    			$("#mensagem").prepend('<div class="row alert '+obj.tipoMensagem+' alert-dismissible" role="alert"><button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>'+obj.mensagem+'</div>');
				    		}
				        },
				        error: function(XMLHttpRequest, textStatus, errorThrown) {
				        	//Rola a página para cima
							$('html, body').animate({ scrollTop: 0 }, 'slow');
							
							// Mostra mensagem
							$("#mensagem").show();
							$("#mensagem").prepend('<div class="row alert alert-danger alert-dismissible" role="alert"><button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>Ocorreu um erro. Tente novamente mais tarde!</div>');
				        }
				    });
	
	habilitaBotoes();
	
	var obj = jQuery.parseJSON( retorno.responseText )
	return obj.sucesso;
	
}

function telaExibir(id){
	window.parent.location = basepath+"admin/marca/telaExibir?id="+id;
}

function telaAlterar(id){
	
	var metodo = "telaAlterar";
	var classe = "marca";
	
	limparMensagem();
	
	if (validaPermissaoRegistro (metodo, classe)){
		window.parent.location = basepath+"admin/marca/telaAlterar?id="+id;
	}
}

function pesquisar(){
	
	run_waitMe();
	
	limparMensagem();
	desabilitaBotoes();
	
	$.ajax({
        url:  basepath+"admin/marca/pesquisar",
        data: $('#formMarca').serialize(),
        type: 'POST',
        async: false,
        success: function(retorno){
        	
        	stop_waitMe();
        	
        	habilitaBotoes();
        	
        	var obj = jQuery.parseJSON( retorno );
        	
    		if (obj.sucesso == true) {
    			
    			// Creating cookie
    			$.cookie('filtro', JSON.stringify($('#formMarca').serializeObject()), { path: '/' });  
    			
    			$(".resultado").html(obj.html);
    			
    			$('#tabela_resultado').dataTable( {
    				responsive: true,
    				"bFilter": false,
    				"bLengthChange": false,
    				"bRetrieve": false,
    				"bAutoWidth": false,
    				"bProcessing": true,
    				"iDisplayLength": 10, 
    				"aaSorting": [],
    				"aoColumnDefs": [
    				                 { 'bSortable': false, 'aTargets': [ 0, 2, 3 ] }
    				                 ],
    				                 "aoColumns": [
    				                               { sWidth: '1%', sClass: "text-center" },
    				                               { sWidth: '17%', sClass: "text-left" },
    				                               { sWidth: '1%', sClass: "text-center" },
    				                               { sWidth: '1%', sClass: "text-center" }
    				                               ]
    			});
    			
    			$('[data-toggle="tooltip"]').tooltip();
    			
    			$(".resultado").show();
    			
    		}else{
    			$(".resultado").html("");
    			$(".resultado").hide();
    			
    			//Rola a página para cima
    			$('html, body').animate({ scrollTop: 0 }, 'slow');
    			
    			// Mostra mensagem
    			$("#mensagem").show();
    			$("#mensagem").prepend('<div class="row alert '+obj.tipoMensagem+' alert-dismissible" role="alert"><button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>'+obj.mensagem+'</div>');
    		}
        	
        },
        error: function(XMLHttpRequest, textStatus, errorThrown) {
        	stop_waitMe();
        	
        	habilitaBotoes();
        	
        	//Rola a página para cima
			$('html, body').animate({ scrollTop: 0 }, 'slow');
			
			// Mostra mensagem
			$("#mensagem").show();
			$("#mensagem").prepend('<div class="row alert alert-danger alert-dismissible" role="alert"><button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>Ocorreu um erro. Tente novamente mais tarde!</div>');
        }
    });
	
}

function inativarReativarMarca(){
	
	run_waitMe();
	
	limparMensagem();
	limparMensagemModal();
	desabilitaBotoes();
	
	var id = $('#idBanco').val();
	var flag = $('#flag').val();
	var url = null;
	
	if (flag == "I"){
		url = basepath+"admin/marca/inativar";
	}else{
		url = basepath+"admin/marca/reativar";
	}
	
	$.ajax({
        url:  url,
        data: $('#formModal').serialize(),
        type: 'POST',
        async: false,
        success: function(retorno){
        	
        	stop_waitMe();
        	
        	habilitaBotoes();
        	
        	var obj = jQuery.parseJSON( retorno );
        	
    		if (obj.sucesso == true) {
    			
    			//Refazendo a consuta da pesquisa
    			pesquisar();
    			
    			//Esconde a modal
    			$('#myModal').modal('hide');
    			
    			//Rola a página para cima
    			$('html, body').animate({ scrollTop: 0 }, 'slow');
    			
    			// Mostra mensagem
    			$("#mensagem").show();
    			$("#mensagem").prepend('<div class="row alert '+obj.tipoMensagem+' alert-dismissible" role="alert"><button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>'+obj.mensagem+'</div>');
    			
    		}else{
    			// Mostra mensagem
    			$("#mensagemModal").show();
    			$("#mensagemModal").prepend('<div class="alert '+obj.tipoMensagem+' alert-dismissible" role="alert"><button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>'+obj.mensagem+'</div>');
    			
    		}
        	
        },
        error: function(XMLHttpRequest, textStatus, errorThrown) {
        	stop_waitMe();
        	
        	habilitaBotoes();
        	
        	// Mostra mensagem
			$("#mensagemModal").show();
			$("#mensagemModal").prepend('<div class="alert alert-danger alert-dismissible" role="alert"><button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>Ocorreu um erro. Tente novamente mais tarde!</div>');
        }
    });
}


function mostraModal(id, texto, flag){
	
	limparMensagem();
	limparMensagemModal();
	
	var metodo = (flag == "I") ? "inativar" : "reativar";
	var classe = "marca";
	
	if (validaPermissaoRegistro (metodo, classe)){
		if (flag == "I"){
			$('.modal-title').text("Inativar Marca");
			$('.modal-body').html("<p>Deseja realmente inativar a Marca \""+texto+"\" ?</p>");
		}else{
			$('.modal-title').text("Reativar Marca");
			$('.modal-body').html("<p>Deseja realmente reativar a Marca \""+texto+"\" ?</p>");
		}
		
		$("#idBanco").val(id);
		$("#flag").val(flag);
		
		$('#myModal').modal('show');
	}
	
}

function desabilitaBotoes(){
	// Desabilita os botões
	$("#buttonVoltar").attr("disabled", "disabled");
	$("#buttonLimpar").attr("disabled", "disabled");
	$("#buttonCadastrar").attr("disabled", "disabled");
	$("#buttonPesquisar").attr("disabled", "disabled");
	$("#buttonCancelarModal").attr("disabled", "disabled");
	$("#buttonConfirmarModal").attr("disabled", "disabled");
}

function habilitaBotoes(){
	// Habilita o botão novamente
	$("#buttonVoltar").removeAttr("disabled");
	$("#buttonLimpar").removeAttr("disabled");
	$("#buttonCadastrar").removeAttr("disabled");
	$("#buttonPesquisar").removeAttr("disabled");
	$("#buttonCancelarModal").removeAttr("disabled");
	$("#buttonConfirmarModal").removeAttr("disabled");
}

function limparMensagem(){
	// Limpando dados da mensagem
	$("#mensagem").hide();
	$("#mensagem").html("");
}

function limparMensagemModal(){
	// Limpando dados da mensagem
	$("#mensagemModal").hide();
	$("#mensagemModal").html("");
}

function limparCamposModal(){
	$('#formModal').each (function(){
		this.reset();
    });
}

function limparCampos(){
	$('#formMarca').each (function(){
		this.reset();
    });
      
    $('#situacao-radio').iCheck('uncheck');
    $('#ativo').iCheck('check');
    
    $(".resultado").html("");
	$(".resultado").hide();
    
	deleteCookie();
}

function verificandoMensagem(){
	
	limparMensagem();
	limparMensagemModal();
	
	var msgn = $.cookie('mensagem');
	
	if (msgn == "cadastrar"){
		
		//Rola a página para cima
		$('html, body').animate({ scrollTop: 0 }, 'slow');
		
		// Mostra mensagem
		$("#mensagem").show();
		$("#mensagem").prepend('<div class="row alert alert-success alert-dismissible" role="alert"><button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>Marca cadastrada com sucesso!</div>');
		
	}else if (msgn == "alterar"){
		
		//Refazendo a consuta da pesquisa
		pesquisar();
		
		//Se eu já pesquisar não preciso pesquisar de novo
		realizarPesquisar = false;
		
		//Rola a página para cima
		$('html, body').animate({ scrollTop: 0 }, 'slow');
		
		// Mostra mensagem
		$("#mensagem").show();
		$("#mensagem").prepend('<div class="row alert alert-success alert-dismissible" role="alert"><button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>Marca alterada com sucesso!</div>');
	}
	
	//Delete cookie
	$.removeCookie('mensagem', { path: '/' });
}

function verificaFiltro(){
	
	var filtro = $.cookie('filtro');
	
	if (filtro != null && filtro != undefined && filtro != ""){	
		
		var obj = jQuery.parseJSON( filtro );
		
		$("#descricao").val(obj.descricao);
		
		$('#situacao-radio').iCheck('uncheck');
		
		if (obj.situacao == "A"){
			$('#ativo').iCheck('check');
		}else if (obj.situacao == "I"){
			$('#inativo').iCheck('check');
		}else{
			$('#ativo').iCheck('check');
		}
		
		//Refazendo a consuta da pesquisa
		realizarPesquisar = true;
	}
}

function inicializandoComponentes(){
	
	$('.i-checks').iCheck({
         checkboxClass: 'icheckbox_square-green',
         radioClass: 'iradio_square-green',
         labelHover: false,
         cursor: true
    });
	
	//Setando ativo por default
	$('#situacao-radio').iCheck('uncheck');
	$('#ativo').iCheck('check');
	
	$("#buttonVoltar").bind('click',function(e) {
		// Prevent form submission
        e.preventDefault();
        
        window.parent.location = basepath+"admin";
	});	
	
	$("#buttonConfirmarModal").bind('click',function(e) {
		// Prevent form submission
        e.preventDefault();
        
        inativarReativarMarca();
	});
	
	$("#buttonLimpar").bind('click',function(e) {
		// Prevent form submission
        e.preventDefault();
        
		limparCampos();
	});	
	
	$("#buttonPesquisar").bind('click',function(e) {
		// Prevent form submission
        e.preventDefault();
		
		pesquisar();
	});
	
	$("#buttonCadastrar").bind('click',function(e) {
		// Prevent form submission
        e.preventDefault();
        
        var metodo = "telaCadastrar";
    	var classe = "marca";
    	
    	limparMensagem();
    	
    	if (validaPermissaoRegistro (metodo, classe)){
			deleteCookie();
	        window.parent.location = basepath+"admin/marca/telaCadastrar";
    	}
	});
}
	

function init() {
	
	inicializandoComponentes();
	verificaFiltro();
	verificandoMensagem();
	
	if (realizarPesquisar){
		pesquisar();
	}
}

$(document).ready(init);